home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
wb
/
czesc_3
/
popupmenu5.0
/
popupmenu.doc
< prev
next >
Wrap
Text File
|
1992-10-04
|
8KB
|
245 lines
PopUpMenu V5.0 by Martin Adrian 4/10 -92
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Introduction
~~~~~~~~~~~~
Are you using QMouse, DMouse, or HeliosMouse and "always" get the wrong
menus when you press the mousebutton?
Have you ever needed pop-up menus for your Amiga?
The solution: PopUpMenu
What is it ?
~~~~~~~~~~~~
This small program makes it possible for You to use popup-menus with
all programs that uses the standard intuition menus.
The popup-menus works just like the standard pull-down menus for both
the user (multiple selections, checkmarks, commandkeys) and the
programmer (MENUPICK and MENUVERIFY).
Features:
~~~~~~~~~
* The menus will not pop-up if any of the following conditions are true.
1) The mousepointer is in the screens menubar.
(standard pull-down menus will appear)
2) You are pressing any other mousebutton (left or middle).
* You may select if the menus should pop-up when you are holding a
qualifier key on Your keyboard down or not.
* Click-menus: You make Your selection with the select-button instead of
holding down the menubutton (works like I*M PC menus).
Excellent for programs with many menus (e.g. RSDemo).
* MenuItems can be centered around the menu (To minimize mouse movements).
* The program remembers the last menu selected.
* PopUpMenu has an intuition interface for setting options.
* PopUpMenu is a commodity and can be controlled from the Exchange program
* PopUpMenu listens for CTRL-F (Open option window) and CTRL-C (exit)
* PopUpMenu reads the icontrol prefs to get the verify Timeout.
Starting PopUpMenu
~~~~~~~~~~~~~~~~~~
---------------------- From CLI: ------------------------
To turn on the pop-up menus just type:
1> Run PopUpMenu [options]
---------------------- From WB: -----------------------
Click the PopUpMenu icon.
If PopUpMenu is already running the option window will show up.
(All arguments are ignored)
Options
~~~~~~~
- - - - - - - - - Click-menus - - - - - - - - -
CLI: CLICKMENUS WB: CLICKMENUS
If a program has a lot of menus it may be difficult
to select the one You want. Click-menus lets You
slow and easy select it.
1. Press and release the menubutton.
2. The menus will show up.
3. Select the menu You want with the selectbutton.
4. Select the menuitem or subitem in the same way.
5. You may cancel the menu selection by pressing
the menubutton again.
- - - - - - - - Show single menu - - - - - - - -
CLI: SHOWSINGLE WB: SHOWSINGLE
If a window has only one menu, PopUpMenu shows it
together with the menuitems. To disable this feature
turn this option on.
Show single Default
+-----+ +------+
+-----|Items| |Menu |
|Menu | | |Items |
+-----| | | |
| | | |
+-----+ | |
+------+
- - - - - - - - Centered menuitems - - - - - -
CLI: CENTERITEMS WB: CENTERITEMS
When PopUpMenu displays the menu-items it usually
places the top item next to the menu. With this
option on, the items are centered around the menu.
Default Centered
+------+ +------+
| | | +-----+
| | | |Items|
| +-----+ | | |
|Menu |Items| |Menu | |
+-----| | +-----| |
| | | |
| | +-----+
| |
+-----+
- - Pop-up menus when a qualifier is pressed - -
CLI: POPWITHQUAL WB: POPWITHQUAL
This options controls if the menus should pop-up when
a qualifier is held down.
(Qualifier = SHIFT, ALT, AMIGA, CTRL)
- - - - - - - Open option window - - - - - - -
CLI: CX_POPUP WB: CX_POPUP=<YES|NO>
Open the PopUpMenu option window.
Please note difference CLI <-> WB.
- - - - - - - - - - Set Hotkey - - - - - - - - - -
CLI: CX_POPKEY <hot key> WB: CX_POPKEY=<hot key>
Use this option to set the hot-Key. If the hot-key is pressed
the PopUpMenu option window will show up on the default
public screen.
- - - - - - Set broker priority - - - - - - -
CLI: CX_PRIORITY <n> WB: CX_PRIORITY=<n>
PopUpMenu option window
~~~~~~~~~~~~~~~~~~~~~~~
If You set the CX_POPUP option, press the hot-key, selects the SHOW
gadget in the Exchange program or starts the PopUpMenu a second
time, the PopUpMenu option window will show up on the default
public screen.
In this window You may enable or disable any option with a mouse-click
or by pressing the corresponding key.
There are two more gadgets in the window:
Name Key Action
~~~~ ~~~ ~~~~~~
Hide Return - Closes the window and uses the currently selected
ESC options.
Kill K - Closes window and removes PopUpMenu from memory.
(No "Are You sure" requester will show up)
Differences from Intuition:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bad:
Intuition draws the menus off-screen and then swaps them to the screen.
PopUpMenu draws the menus on the screen. (I don't want to create a
rastport just to draw them)
Good:
The mousepointer does not stop while menuwindows are opened or closed.
(Makes it easier to select items when your amiga has much to do)
Good or bad ?
PopUpMenu does not remove any RAWMOUSE inputevents while the menus
are shown. (Intuition needs these to move the mousepointer etc.)
If a menu does not have menuitems, intuition shows a small empty
itemwindow. PopUpMenu does not show anything at all.
Same as Intuition:
~~~~~~~~~~~~~~~~~~
* PopUpMenu handles multiple selection as silly as intuition.
Don't select a menuitem more than once or the checkmarks may be moved
to the wrong item.
Distribution
~~~~~~~~~~~~
The PopUpMenu program is "Public Domain"
It may be sold, copied, distributed with any product (even commercial ones)
or included in a library.
If You change the source please use some other name than PopUpMenu
(i.e. NewPopUpMenu, BetterPopUpMenu etc)
Warnings:
~~~~~~~~~
1. Intuition is a very big inputhandler (i think), this means that intuition
will lockup the input.device if it (intuition) tries to draw something
(i.e activate a window) on a locked screen. This will lead to a deadlock
since my program is waiting for mouse-events from the input.device.
To walk around this I have installed a timer to go off every 0.25s, if
no inputevents has arrived in this time my program does the following:
1. Remove all displayed menus.
2. Unlock the screen.
3. Wait for the input.device to start.
4. Lock the screen again.
5. Draw all menus again.
This will make the menus flash once.
2. Some programs draw directly into the screen without using the
layers.library. Using PopUpMenu on these screens may produce strange
results. Only the data on the screen is affected.
Programs found: RSDemo, Imploder (4.0)
3. PopUpMenu changes some library vectors in intuition (OnMenu,OffMenu,
ClearMenuStrip). Use SaferPatches!!
4. The Amiga Rom Kernal manual, Libraries, states that the menu operation is
cancelled if the MENUVERIFY times out. This is not true, the menus
shows up if the menu button is still down when the MENUVERIFY reply
comes. (The menustrip may look ugly).
PopUpMenu works like stated in the ARKM.
FUTURE:
~~~~~~~
Support for the NewLook menus with scaled Amigakeys in KS 3.0.
Author:
~~~~~~~
Martin Adrian
Rullharvsgatan 3A (New addres from 1-jun-91) ..
S-431 47 Mölndal (the ö is an 'o' with to dots above -> o )
SWEDEN
I dont have any EMAIL address anymore